package datastructure.book.dp._1_pathway.all.exp;

import org.junit.jupiter.api.Test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class _9_Solution {
    /**
     * 给你一个正方形字符数组 board ，你从数组最右下方的字符 'S' 出发。
     * 你的目标是到达数组最左上角的字符 'E' ，数组剩余的部分为数字字符 1, 2, ..., 9 或者障碍 'X'。
     * 在每一步移动中，你可以向上、向左或者左上方移动，可以移动的前提是到达的格子没有障碍。
     * 一条路径的 「得分」 定义为：路径上所有数字的和。
     * 请你返回一个列表，包含两个整数：第一个整数是 「得分」 的最大值，第二个整数是得到最大得分的方案数，
     * 请把结果对 10^9 + 7 取余。
     * 如果没有任何路径可以到达终点，请返回 [0, 0] 。
     * 例：
     * E51
     * 12X
     * 3XS
     * 得分最大路径  S->2->5->E  结果为[7,1]
     * E12
     * 121
     * 21S
     * 结果为[4,6]
     */
    public int[] pathsWithMaxScore(List<String> board) {
        return null;
    }

    @Test
    public void test(){
        List<String> board = new ArrayList<>();
        board.add("E11");
        board.add("XXX");
        board.add("21S");
        System.out.println(Arrays.toString(pathsWithMaxScore(board)));
        board = new ArrayList<>();
        board.add("E1222X");
        board.add("XXXXX5");
        board.add("211674");
        board.add("312671");
        board.add("312671");
        board.add("31267S");
        System.out.println(Arrays.toString(pathsWithMaxScore(board)));
    }
}
